package com.hb.core.pojo.project.notice.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hb.core.pojo.center.au.dto.OrgDTO;
import com.hb.core.pojo.project.notice.dto.TenderInviteEnterpriseDTO;
import com.hb.core.pojo.project.notice.entity.TenderInviteEnterprise;
import com.hb.core.pojo.project.section.dto.BidSectionDTO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 投标邀请信息 Mapper 接口
 * </p>
 *
 * @author zhaojk
 * @since 2021-08-30
 */
public interface TenderInviteEnterpriseMapper extends BaseMapper<TenderInviteEnterprise> {


    /**
     * 查询邀请企业信息
     * @author tian
     * @date 2022-2-19 16:15
     * @param tenderInviteEnterpriseDTO
     * @return java.util.List<OrgDTO>
     */
    List<OrgDTO> selectTenderInviteEnterpriseList(TenderInviteEnterpriseDTO tenderInviteEnterpriseDTO);

    /**
     * 请回执 查询邀请企业信息 分页
     * @author tian
     * @date 2022-2-21 17:25
     * @param pages
     * @param tenderInviteEnterpriseDTO
     * @return com.baomidou.mybatisplus.extension.plugins.pagination.Page<com.hb.core.pojo.project.notice.dto.TenderInviteEnterpriseDTO>
     */
    Page<TenderInviteEnterpriseDTO> pageTenderInviteEnterpriseList(@Param("pages") Page<TenderInviteEnterpriseDTO> pages, @Param("tenderInviteEnterprise") TenderInviteEnterpriseDTO tenderInviteEnterpriseDTO);

    /**
     * 投币人查询邀请回执
     * @author tian
     * @date 2022-2-19 16:38
     * @param pages
     * @param tenderInviteEnterpriseDTO
     * @return com.baomidou.mybatisplus.extension.plugins.pagination.Page<com.hb.core.pojo.project.notice.dto.TenderInviteEnterpriseDTO>
     */
    Page<TenderInviteEnterpriseDTO> pageTenderInviteEnterpriseDTOByOrgId(@Param("pages") Page<TenderInviteEnterpriseDTO> pages, @Param("tenderInviteEnterprise") TenderInviteEnterpriseDTO tenderInviteEnterpriseDTO);

    /**
     * 查询邀请书详情
     * @author tian
     * @date 2022-2-19 17:17
     * @param id
     * @return com.hb.core.pojo.project.notice.dto.TenderInviteEnterpriseDTO
     */
    TenderInviteEnterpriseDTO findTenderInviteEnterpriseInfoById(Long id);


    /**
     * 查询公告绑定的邀请书状态
     * @author tian
     * @date 2022-2-21 13:24
     * @param noticeId
     * @return java.util.List<java.lang.Integer>
     */
    List<Integer> countInviteStatusByNoticeId(Long noticeId, Long sectionId);

    /**
     * 查询邀请书绑定的标段
     *
     * @author tian
     * @date 2022-5-23 11:49
     * @return java.util.List<BidSectionDTO>
     */
    List<BidSectionDTO> selectSectionByNoticeId(Long noticeId);
}
